home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
PET
/
O-Old PET 1979
/
(o)tr.d64
/
character gen 64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2008-11-26
|
3KB
|
132 lines
5 POKE56,48:POKE55,0:CLR
10 REM SET UP PROGRAMMABLE CHARACTER SET
20 FORJ=0TO39:READA:N=N+A
30 POKE832+J,A:NEXT
40 IFN<>4782THENPRINT"DATA ERROR":STOP
50 SYS832
2000 DATA 120,169,51,133,1
2010 DATA 160,224,162,0,189
2020 DATA 0,208,157,0,48
2030 DATA 232,208,247,238,75
2040 DATA 3,238,78,3,204
2050 DATA 75,3,208,236,169
2060 DATA 55,133,1,88,169
2070 DATA 28,141,24,208,96
2999 GOTO8000
3000 PRINT"[147]";
3005 PO=1024:PP=0:I=91
3010 FORJ=1TO8
3020 PRINT"[219][219][219][219][219][219][219][219]"
3030 NEXT:PRINT"";
3031 IFCP=0THENGOTO9000
3035 CP=10
3037 POKEPO+PP,102
3040 GETA$:IFA$=""THEN3040
3050 IFA$="[133]"THEN3120
3055 IFA$="[136]"THEN6000
3060 IFA$=" "THEN3130
3065 IFA$="[147]"THENCP=0:GOTO3000
3070 IFA$="[145]"THEN3140
3075 IFA$=""THENCP=10:GOTO3000
3080 IFA$=""THEN3160
3090 IFA$=""THEN3180
3100 IFA$="[157]"THEN3190
3110 GOTO3040
3120 POKEPO+PP,160:I=160:GOTO5000
3130 POKEPO+PP,91:I=91:GOTO5000
3140 IFPP-40<0THEN3040
3150 DL=-40:GOTO5000
3160 IFPP+40>288THEN3040
3170 DL=+40:GOTO5000
3180 DL=1:GOTO4000
3190 DL=-1:GOTO4000
4000 RESTORE
4010 FORY=1TO40:READA:NEXT
4020 FORQ=0TO(INT(PP/40))*2:READA:NEXT
4030 DATA7,0,47,40,87,80,127,120,167,160,207,200,247,240,287,280
4040 READB
4050 IFDL=1ANDPP=ATHENDL=0:GOTO3040
4060 IFDL=-1ANDPP=BTHENDL=0:GOTO3040
4070 GOTO5000
5000 POKEPO+PP,I
5010 PP=PP+DL:DL=0
5020 I=PEEK(PO+PP)
5030 POKEPO+PP,102
5040 GOTO3040
6000 POKEPO+PP,I
6010 FORJ=0TO7
6020 FORT=0TO7
6030 WW=PEEK(1024+J*40+T)
6035 YO=2^(7-T)
6040 IFWW=160THENRR=RR+YO
6050 NEXT
6060 POKE12288+J+WO*8,RR
6061 PRINT"DATA"RR
6065 RR=0
6070 NEXT
6080 PRINT"DO YOU WISH TO RE-MAKE ANOTHER CHARACTER"
6090 GETA$:IFA$=""THEN6090
6095 CP=0
6100 IFA$="Y"THEN7000
6110 END
7000 PRINT"[147]256-511 FOR LOWER CASE CHAR."
7010 INPUT"NUMBER OF CHARACTER TO CHANGE";WO
7020 IFWO<0ORWO>511THEN7010
7030 GOTO10000
8000 PRINT"[147]";
8010 PRINT" CHARACTER GENERATOR FOR THE 64"
8020 PRINT" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
8030 PRINT"THIS PROGRAM WAS DESIGNED SO YOU "
8040 PRINT"COULD MAKE YOUR OWN CHARACTERS AND"
8050 PRINT"THEN SEE WHAT DATA TO USE."
8060 PRINT"FIRST IT WILL ASK FOR A NUMBER,"
8070 PRINT"(MEANING THE SCREEN CODE OF A CHARACTER)";
8080 PRINT"AND THEN YOU CAN MAKE A CHARACTER ON"
8090 PRINT"AN 8 BY 8 GRID."
8100 PRINT"YOU CAN MOVE WITH THE CURSOR KEYS,"
8110 PRINT"AND LEAVE A DOT WITH F1 AS WELL AS"
8120 PRINT"TAKING THE DOT AWAY WITH 'SPACE'."
8130 PRINT"ONCE YOU HAVE FINISHED PRESS F7 TO"
8140 PRINT"MAKE CHARACTER AND LIST DATA"
8141 PRINT"PRESS SPACE TO CONTINUE..."
8142 GETA$:IFA$=""THEN8142
8143 PRINT"[147]IF YOU WISH TO SEE YOUR CHARACTER,"
8144 PRINT"SAY THAT YOU DON'T WANT TO MAKE ANOTHER"
8146 PRINT"CHARACTER AND THE PROGRAM WILL END."
8148 PRINT"IF YOU WANT TO GO BACK TO THE PROGRAM"
8149 PRINT"TYPE CONT SO THAT THE CHARACTERS WON'T"
8150 PRINT"BE ERASED. IT WILL GO BACK AND ASK"
8151 PRINT"WHAT CHARACTER TO DO."
8152 PRINT"USE CLR TO CLEAR THE AREA AND PUT THE"
8153 PRINT"CHARACTER BACK ON."
8154 PRINT"USE HOME TO JUST CLEAR THE SCREEN."
8159 PRINT"PRESS SPACE TO BEGIN..."
8160 GETA$:IFA$=""THEN8160
8170 GOTO7000
9000 FORJ=0TO7
9010 QQ=PEEK(12288+UI*8+J)
9020 IFQQ>127THENPOKE1024+J*40,160:QQ=QQ-128
9030 IFQQ>63THENPOKE1024+J*40+1,160:QQ=QQ-64
9040 IFQQ>31THENPOKE1024+J*40+2,160:QQ=QQ-32
9050 IFQQ>15THENPOKE1024+J*40+3,160:QQ=QQ-16
9060 IFQQ>7THENPOKE1024+J*40+4,160:QQ=QQ-8
9070 IFQQ>3THENPOKE1024+J*40+5,160:QQ=QQ-4
9080 IFQQ>1THENPOKE1024+J*40+6,160:QQ=QQ-2
9090 IFQQ>0THENPOKE1024+J*40+7,160:QQ=QQ-1
9100 NEXT
9105 I=PEEK(1024)
9110 GOTO3035
10000 PRINT"DO YOU WISH THAT CHARACTER TO BE"
10010 PRINT"VIEWED OR DO YOU WANT TO SEE A"
10020 PRINT"DIFFERENT CHARACTER?"
10030 PRINT"PRESS S[146]AME OR D[146]IFFERENT?"
10040 GETA$:IFA$=""THEN10040
10050 IFA$="S"THENUI=WO:GOTO3000
10060 IFA$="D"THEN11000
10070 GOTO10040
11000 PRINT"256-511 FOR LOWER CASE"
11010 PRINT"NUMBER OF CHARACTER TO BE SEEN?"
11020 INPUTUI
11030 IFUI<0ORUI>511THEN11000
11040 GOTO3000